﻿var version = "1.95";
var updateversion = 1.6;
var keycodes = {"a":65, "b":66, "c":67, "skip":74, "right":39, "left":37, "master":90};
var keyedits = {"a":false, "b":false, "c":false, "skip":false};
var key;
var keydown = false;
var cansend = true;
var sitter = "";
if (window.game_data.player.sitter!="0")
{
sitter="t="+window.game_data.player.id+"&";
}
var link = ["http://"+window.location.host+"/game.php?"+sitter+"village=", "&screen=am_farm"];
var pos = {s:{order:0,dir:1,loadp:2,fp:3,lp:4,remaxes:5,remyellow:6,remred:7,remblue:8,remgreen:9,remredy:10,remredb:11,remattsince:12}};
var faTable, userkeys, userset, totalrows, countedrows = 0;
var pagesLoad = 0; pagesLoaded = false, pageLoading = false;
function run()
{
checkPage();
if(checkCookie())
{
if($.cookie(cookieName).indexOf('{')==-1)
{
alert("يتم التكيف للعمل وفقا لأحدث إصدار. إذا كان هناك مشاكل مع إعدادات الإنتقال، يرجى محاولة تغيير اسم ملف تعريف الارتباط الخاصة بك (Cookie).\n\n-crim");
dodokeys = $.cookie(cookieName).split(',');
resetCookie();
userkeys[0] = dodokeys[0];
userkeys[1] = dodokeys[1];
userkeys[2] = dodokeys[2];
keycodes.a = parseInt(userkeys[0]);
keycodes.b = parseInt(userkeys[1]);
keycodes.c = parseInt(userkeys[2]);
setCookie(cookieName, 180);
}
else if(parseFloat($.cookie(cookieName).split("{")[1].split("}")[0])<=updateversion)
{
alert("بسبب التحديث، يجب إعادة تعيين بيانات المستخدم إلى الإعدادات الافتراضية. يرجى إعادة الخيارات والمفاتيح، ونعتذر عن أي إزعاج الخاص\n\n-crim");
resetCookie();
}
else
{
userkeys = $.cookie(cookieName).split("[")[1].split("]")[0].split(",");
userset = $.cookie(cookieName).split("[")[2].split("]")[0].split(",");
keycodes.a = parseInt(userkeys[0]);
keycodes.b = parseInt(userkeys[1]);
keycodes.c = parseInt(userkeys[2]);
keycodes.skip = parseInt(userkeys[3]);
}
}
else
{
alert("مرحبا بكم في مساعدة النهب بضغطة زر مبرمج  Crimsoni");
resetCookie();
}
faTable = $('#am_widget_Farm').children().eq(1).children().eq(1);
if (userset[pos.s.loadp]==="1")
{
removeFirstPage();
showPages();
}
else
{
initStuff();
}
}
function addPressKey()
{
window.onkeypress = function(e)
{
checkKeys();
};
window.onkeydown = function(e) 
{
key = e.keyCode ? e.keyCode : e.which;
keydown = true;
if (key == keycodes.left)
{
getNewVillage("p");
}
else if (key == keycodes.right)
{
getNewVillage("n");
}
};
window.onkeyup = function(e)
{
keydown = false;
};
function checkKeys()
{
if (keyedits.a)
{
keycodes.a = key;
refresh();
}
else if (keyedits.b)
{
keycodes.b = key;
refresh();
}
else if (keyedits.c)
{
keycodes.c = key;
refresh();
}
else if (keyedits.skip)
{
keycodes.skip = key;
refresh();
}
else if (key == keycodes.skip)
{
$(faTable).find("tr").eq(2).remove();
}
else if (cansend)
{
if (key == keycodes.c) 
{
click('c');
doTime(201);
}
else if (key == keycodes.a) 
{
click('a');
doTime(201);
}
else if (key == keycodes.b) 
{
click('b');
doTime(201);
}
}
}
}
function click(letter)
{               
for (h = 2; h<$(faTable).find("tr").length; h++) 
{
var row = $(faTable).find("tr").eq(h);
var button = $('a[class*="farm_icon_'+letter+'"]', row).eq(0);     
if ($(button).html()!=null)
{                                        
if ($(button).attr('class').indexOf('farm_icon_disabled') == -1) 
{               
$(button).click();                 
return;                    
}                
}                          
}
}
function checkCookie()
{
if(!($.cookie(cookieName)))
{
return false;
}
else
{
return true;
}
}
function setCookie(cname,cvalue,exdays)
{
var d = new Date();
d.setTime(d.getTime()+(exdays*24*60*60*1000));
var expires = "expires="+d.toGMTString();
document.cookie = cname + "=" + cvalue + "; " + expires +"; path=/";
}
function addTable()
{
if($('#divFAPress'))
{
$('#divFAPress').remove();
$('#divFAPressSettings').remove();
}
$("#contentContainer h3").eq(0).after($("<div id='divFAPress' class='vis' style='font-size:12px;width:40%'><table id='faKeyPress' class='vis' style='width:100%' cellspacing='0'><thead><tr><th colspan='8' style='font-size:16px;text-align:center'>مساعدة النهب بضغطة الإصدار "+version+" بواسطة <a href='#' onclick='return window.open(\"mailto:cchrisggrant@gmail.com\")'>Crimsoni</a></tr></thead><tbody><tr id='buttonRow'><th colspan='1' valign='middle'>الأزرار: <img src='http://cdn.tribalwars.net/8.20/20029/graphic/questionmark.png' title='اضغط على زر واختر من لوحة المفاتيح لتغيير المفتاح المستخدم ' width='13' height='13' alt='' class='tooltip' /><td colspan='1' align='center'><a href='#' onclick='return setEditMode(0)' id='buttona' class='tooltip farm_icon farm_icon_a' title='زر A'><td colspan='1' align='center'><a href='#' onclick='return setEditMode(1)' id='buttonb' class='tooltip farm_icon farm_icon_b' title='زر B'><td colspan='1' align='center'><a href='#' onclick='return setEditMode(2)' id='buttonc' class='tooltip farm_icon farm_icon_c'  title='زر C'><td colspan='1' align='center'><a href='#' onclick='return setEditMode(4)' id='buttonc' class='tooltip farm_icon farm_icon_m'  title='الزر الرئيسي. لا يقوم بعمل أي شيء حالياً، قم بالتحقق منه مرة أخرى عند التحديث للإصدار 2.0'><td colspan='1' align='center'><input class='btn tooltip' type='button' value='تخطي' onclick='return setEditMode(3)' style='margin:0px 0px 0px 0px' title='تخطى المزرعة التالية'/><td colspan='1' align='center'><input class='btn tooltip' type='button' value='?' style='margin:0px 0px 0px 0px' title='القرية السابقة'/><td colspan='1' align='center'><input class='btn tooltip' type='button' value='?' style='margin:0px 0px 0px 0px' title='القرية التالية'/></tr><tr id='keysRow'><th colspan='1'>المفاتيح:<td align='center'>"+String.fromCharCode(keycodes.a)+"<td align='center'>"+String.fromCharCode(keycodes.b)+"<td align='center'>"+String.fromCharCode(keycodes.c)+"<td align='center'>N/A<td align='center'>"+String.fromCharCode(keycodes.skip)+"<td>L.Arr<td>R.Arr</tr></tbody></table></div>"));
$('#divFAPress').append($("<table id='faKeySettings' class='vis' style='width:100%' cellspacing='0'><thead><tr><th colspan='3'><em>الخيارات</em> - <a href'#' id='showSettings' onclick='return doSettings()'>إخفاء</a></thead><tbody id='bodySettings'><tr><td colspan='1' align='center'><input type='checkbox' id='chbLoadPages' onclick='return chkBoxClick($(this).is(\":checked\"), "+pos.s.loadp+")'> <b>تحميل الصفحات</b><td colspan='2'>من <input type='text' id='txtFirstPage' size='2' maxlength='2' value='"+userset[pos.s.fp]+"'> إلى <input type='text' id='txtLastPage' size='2' maxlength='2' value='"+userset[pos.s.lp]+"'><tr><td align='center'><b>إخفاء</b><td><input type='checkbox' id='chbRemAxes' onclick='return chkBoxClick($(this).is(\":checked\"), "+pos.s.remaxes+")'> <img src='http://cdn.tribalwars.net/8.20/20029/graphic/command/attack.png' title='الهجمات المنتهية' alt='' class='tooltip' /> الهجمات<br><input type='checkbox' id='chbRemBlue' onclick='return chkBoxClick($(this).is(\":checked\"), "+pos.s.remblue+")'> <img src='http://cdn.tribalwars.net/8.20/20029/graphic/dots/blue.png' title='الكشافة' alt='' class='tooltip' /> الكشافة <br><input type='checkbox' id='chbRemGreen' onclick='return chkBoxClick($(this).is(\":checked\"), "+pos.s.remgreen+")'> <img src='http://cdn.tribalwars.net/8.20/20029/graphic/dots/green.png' title='بدون خسائر' alt='' class='tooltip' /> بدون خسائر <br><input type='checkbox' id='chbRemYellow' onclick='return chkBoxClick($(this).is(\":checked\"), "+pos.s.remyellow+")'> <img src='http://cdn.tribalwars.net/8.20/20029/graphic/dots/yellow.png' title='نصر , مع قليل من الخسائر' alt='' class='tooltip' /> نصر, مع قليل من الخسائر <br><input type='checkbox' id='chbRemRedYellow' onclick='return chkBoxClick($(this).is(\":checked\"), "+pos.s.remredy+")'> <img src='http://cdn.tribalwars.net/8.20/20029/graphic/dots/red_yellow.png' title='انهزمت, لكن تم تدمير بعض المباني' alt='' class='tooltip' /> انهزمت, لكن مع وجود تدمير<br><input type='checkbox' id='chbRemRedBlue' onclick='return chkBoxClick($(this).is(\":checked\"), "+pos.s.remredb+")'> <img src='http://cdn.tribalwars.net/8.20/20029/graphic/dots/red_blue.png' title='انهزمت, لكن تم التجسس' alt='' class='tooltip' /> انهزمت, لكن تم التجسس<br><input type='checkbox' id='chbRemRed' onclick='return chkBoxClick($(this).is(\":checked\"), "+pos.s.remred+")'> <img src='http://cdn.tribalwars.net/8.20/20029/graphic/dots/red.png' title='انهزمت' alt='' class='tooltip' /> انهزمت</tr><tr><td align='right' colspan='2'><input type='button' class='btn' id='btnSettingsReset' value='إعادة' onclick='resetCookie(); UI.SuccessMessage(\"Settings reset\",1000); run(); return false;'><input type='button' class='btn' id='btnSettingsApply' value='تطبيق' onclick='saveSettings(); run(); return false'><input type='button' class='btn' id='btnSettingsSave' value='حفظ' onclick='saveSettings(); return false;'></tr></tbody></table>"));

if(userset[pos.s.remred]==="1")
{
$('#chbRemRed').prop("checked",true);
}
if(userset[pos.s.remredy]==="1")
{
$('#chbRemRedYellow').prop("checked",true);
}
if(userset[pos.s.remredb]==="1")
{
$('#chbRemRedBlue').prop("checked",true);
}
if(userset[pos.s.remgreen]==="1")
{
$('#chbRemGreen').prop("checked",true);
}
if(userset[pos.s.remblue]==="1")
{
$('#chbRemBlue').prop("checked",true);
}
if(userset[pos.s.remaxes]==="1")
{
$('#chbRemAxes').prop("checked",true);
}
if(userset[pos.s.remyellow]==="1")
{
$('#chbRemYellow').prop("checked",true);
}
if(userset[pos.s.loadp]==="1")
{
$('#chbLoadPages').prop("checked",true);
}
}
function chkBoxClick(yolo, index)
{
if(yolo)
{
userset[index]="1";
}
else
{
userset[index]="0";
}
setCookie(cookieName, "{"+version+"}["+userkeys.toString()+"]["+userset.toString()+"]", 180);
}
function saveSettings()
{
userset[pos.s.fp] = $('#txtFirstPage').val();
userset[pos.s.lp] = $('#txtLastPage').val();
setCookie(cookieName, "{"+version+"}["+userkeys.toString()+"]["+userset.toString()+"]", 180);
UI.SuccessMessage("Settings saved", 1000);
}
function doSettings()
{
if ($('#showSettings').html().indexOf('Hide')!=-1)
{
$('#bodySettings').hide();
$('#showSettings').html('Show');
}
else
{
$('#bodySettings').show();
$('#showSettings').html('Hide');
}
}
function showKeys()
{
if ($('#showKeys').html().indexOf('>')==-1)
{
$('#showKeys').html('Keys >>>');
}
else
{
$('#showKeys').html('Keys <<<');
}
}
function refresh()
{
userkeys = [keycodes.a, keycodes.b, keycodes.c, keycodes.skip, keycodes.right, keycodes.left, keycodes.master];
setCookie(cookieName, "{"+version+"}["+userkeys.toString()+"]["+userset.toString()+"]", 180);
setEditMode(10);
$('#divFAPress').remove();
addTable();
}
function setEditMode(let)
{
keyedits.a = false;
keyedits.b = false;
keyedits.c = false;
keyedits.skip = false;
if(let==0)
{
keyedits.a = true;
}
else if(let==1)
{
keyedits.b = true;
}
else if(let==2)
{
keyedits.c = true;
}
else if(let==3)
{
keyedits.skip = true;
}
}
function doTime(millsec)
{
cansend = false;
setTimeout(function()
{
cansend = true;
}, millsec);
}
function customSendUnits(link, target_village, template_id, button) 
{
var lastbutton = button;
var row = button.closest("tr");
button.closest("tr").remove();
link = $(link);
if (link.hasClass('farm_icon_disabled')) return false;
var data = 
{target: target_village, template_id: template_id, source: game_data.village.id};
$.post(Accountmanager.send_units_link, data, function (data) 
{
if (data.error) 
{
UI.ErrorMessage(data.error);
$(faTable).find("tr").eq(h).before(row);
} 
else 
{
$('.farm_village_' + target_village).addClass('farm_icon_disabled');
button.closest("tr").remove();
Accountmanager.farm.updateOwnUnitsAvailable(data.current_units);
}
}, 'json');
return false
}

function customSendUnitsFromReport(link, target_village, report_id, button) 
{
var lastbutton = button;
var row = button.closest("tr");
button.closest("tr").remove();
link = $(link);
if (link.hasClass('farm_icon_disabled')) 
return false;
var data = {report_id: report_id};
$.post(Accountmanager.send_units_link_from_report, data, function (data) {
if (data.error) 
{
UI.ErrorMessage(data.error);
$(faTable).find("tr").eq(h).before(row);
} 
else 
{
if (typeof data.success === 'string') 
{
UI.SuccessMessage(data.success, 1000);
$('.farm_village_' + target_village).addClass('farm_icon_disabled');
Accountmanager.farm.updateOwnUnitsAvailable(data.current_units);
};
}
}, 'json');
return false
}

function setOnclick(button)
{
var clickFunction = button.find('a').attr('onclick');
if(typeof clickFunction != 'undefined')
{
var parameters = clickFunction.slice(clickFunction.indexOf("(")+1,clickFunction.indexOf(")"));
var eachParameter = parameters.split(",");
if(clickFunction.indexOf("FromReport") == -1)
{
button.find('a').attr('onclick', 'return customSendUnits('+parameters+', $(this))');
}
else
{
button.find('a').attr('onclick', 'return customSendUnitsFromReport('+parameters+', $(this))');
}
}
}
function addRowRemover()
{
$('#am_widget_Farm tr:gt(1)').each(function(i)
{
$(this).children("td").each(function(j) 
{
switch(j)
{
case 3:	
var attackImg = $(this).find('img');
if(typeof $(attackImg).prop('tooltipText') != 'undefined')
{
var numAttacks = $(attackImg).prop('tooltipText').replace(/\D/g, '');;
$(this).find('img').after("<span style='font-weight:bold;'> ("+numAttacks+")</span>");
}
else if(typeof attackImg.attr('title') != 'undefined'){
var numAttacks = attackImg.attr('title').replace(/\D/g, '');
attackImg.after("<span style='font-weight:bold;'> ("+numAttacks+")</span>");
}
break;
case 8:
setOnclick($(this));
break;
case 9:
setOnclick($(this));
break;
case 10:
setOnclick($(this));
break;	
}
});
});
}
function showPages()
{
addLoader();
var pages = $.trim($('#am_widget_Farm tr:last td:last').children().last().html().replace(/\D+/g, ''));
$('#am_widget_Farm tr:last').remove();
if (parseInt(pages)>parseInt(userset[pos.s.lp]))
{
pages=parseInt(userset[pos.s.lp]);
}
else
{
pages=parseInt(pages);
}
getPage(pages);
}
function getPage(pages)
{
var i = parseInt(userset[pos.s.fp])-1+pagesLoad;
$.get(link[0]+window.game_data.village.id+"&order="+userset[pos.s.order]+"&dir"+userset[pos.s.dir]+"&Farm_page="+i+"&screen=am_farm", function(data){
var v = $(data);
var subFaTable = $('#am_widget_Farm', v);
var rows = $(subFaTable).find('tr');
if(totalrows==null)
{
totalrows=(userset[pos.s.lp]-userset[pos.s.fp]+1)*rows.length;
}
for (var b=2;b<rows.length-1;b++)
{
$(faTable).find('tr:last').after($(rows[b]));
countedrows++;
$('#yoloLoadText').html(Math.round(countedrows/totalrows*100)+"%");
}
pagesLoad++;
if (pagesLoad==pages)
{
pagesLoad = 0;
countedrows = 0;
totalrows = null;
$('#yoloLoader').remove();
$('#am_widget_Farm').show();
initStuff();
}
else
{
getPage(pages);
}
});
}
function removeFirstPage()
{
$('#am_widget_Farm').hide();
$('#am_widget_Farm tr').slice(2).not(':last').remove();
$('#am_widget_Farm tr:last').hide();
}
function removeBadStuff()
{
for (var i=2;i<$(faTable).find("tr").length;i++)
{
var row = $(faTable).find("tr").eq(i);
if(userset[pos.s.remaxes]==1&&$(row).html().indexOf('attack.png')!=-1)
{
$(row).remove();
i--;
}
else if(userset[pos.s.remyellow]==1&&$(row).html().indexOf('yellow.png')!=-1)
{
$(row).remove();
i--;
}
else if(userset[pos.s.remredy]==1&&$(row).html().indexOf('red_yellow.png')!=-1)
{
$(row).remove();
i--;
}
else if(userset[pos.s.remredb]==1&&$(row).html().indexOf('red_blue.png')!=-1)
{
$(row).remove();
i--;
}
else if(userset[pos.s.remred]==1&&$(row).html().indexOf('red.png')!=-1)
{
$(row).remove();
i--;
}
else if(userset[pos.s.remgreen]==1&&$(row).html().indexOf('green.png')!=-1)
{
$(row).remove();
i--;
}
else if(userset[pos.s.remblue]==1&&$(row).html().indexOf('blue.png')!=-1)
{
$(row).remove();
i--;
}
}
}
function addLoader()
{
$("#contentContainer h3").eq(0).after("<div id='yoloLoader'><img src='graphic/throbber.gif' height='24' width='24'></img> <span id='yoloLoadText'> 0%</span></div>");
}
function checkPage()
{
if (!(window.game_data.screen==='am_farm'))
{
getFA();
}
}
function resetCookie()
{
$.cookie(cookieName, null);
userkeys = [65, 66, 67, 74, 39, 37, 90];
userset = ["distance","asc","0","1","1","1","0","0","0","0","0","0","0"];
setCookie(cookieName, "{"+version+"}["+userkeys.toString()+"]["+userset.toString()+"]", 180);
}
function initStuff()
{
removeBadStuff();
addRowRemover();
addPressKey();
addTable();
Accountmanager.initTooltips();
}
function getNewVillage(way)
{
fadeThanksToCheese();
openLoader();
clearTimers();
var vlink = link[0]+way+window.game_data.village.id+link[1];
$.ajax({
type: "GET",
url: vlink,
error: function(xhr, statusText) 
{ 
alert("خطأ: "+statusText); 
$('#fader').remove();
$('#loaders').remove();
},
success: function(data) {
var v = $(data);
var title = data.split('<title>')[1].split('</title>')[0];
window.game_data = $.parseJSON(data.split("var game_data = ")[1].split("};")[0]+"}");
$('#header_info').html($('#header_info', v).html());
$('#topContainer').html($('#topContainer', v).html());
$('#contentContainer').html($('#contentContainer', v).html());
$('head').find('title').html(title);
$('#fader').remove();
$('#loaders').remove();
startTimer();
tick();
run();
}
}); 
}
function getFA()
{
fadeThanksToCheese();
openLoader();
clearTimers();
var vlink = link[0]+window.game_data.village.id+link[1];
$.getScript("http://"+window.location.host+"/js/game/Accountmanager.js", function(){
$.ajax({
type: "GET",
url: vlink,
error: function(xhr, statusText) 
{ 
alert("Error: "+statusText); 
$('#fader').remove();
$('#loaders').remove();
},
success: function(data) {
var v = $(data);
var title = data.split('<title>')[1].split('</title>')[0];
window.game_data = $.parseJSON(data.split("var game_data = ")[1].split("};")[0]+"}");
$('#header_info').html($('#header_info', v).html());
$('#topContainer').html($('#topContainer', v).html());
$('#contentContainer').html($('#contentContainer', v).html());
$('head').find('title').html(title);
$('#fader').remove();
$('#loaders').remove();
startTimer();
tick();
run();
}
});
});
}
function fadeThanksToCheese()
{
var fader = document.createElement('div');
fader.id = 'fader';
fader.style.position = 'fixed';
fader.style.height = '100%';
fader.style.width = '100%';
fader.style.backgroundColor = 'black';
fader.style.top = '0px';
fader.style.left = '0px';
fader.style.opacity = '0.6';
fader.style.zIndex = '12000';
document.body.appendChild(fader);
}
function openLoader()
{
var widget = document.createElement('div');
widget.id = 'loaders';
widget.style.position = 'fixed';
widget.style.width = '24px';
widget.style.height = '24px';
widget.style.top = '50%';
widget.style.left = '50%';	
$(widget).css("margin-left","-12px");
$(widget).css("margin-top","-12px");
widget.style.zIndex = 13000;
$(widget).append($("<img src='graphic/throbber.gif' height='24' width='24'></img>"));
$('#contentContainer').append($(widget));
}
run();
void(0);